package com.example;

import com.example.util.RabbitmqUtil;
import com.rabbitmq.client.*;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Test {
    public static void main(String[] args) throws IOException, TimeoutException {

        /* 获取连接中的通道 */
        Channel channel= RabbitmqUtil.getConnection().createChannel();
        /**
         * 通道绑定消息队列
         * 参数1:队列名称,如果不存在自动创建
         * 参数2:用来定义队列是否持久化
         * 参数3:是否独占队列
         * 参数4:消费完成后是否删除
         * 参数5:额外参数
         */
        channel.queueDeclare("hello",false,false,false,null);
        /**
         * 参数1:消费哪个队列消息,队列名称
         * 参数2:开启消息自动确认机制
         * 参数3:消费时回调接口
         */
        channel.basicConsume("hello",true,new DefaultConsumer(channel){
            /* 最后一个参数是取出的消息 */
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                System.out.println("得到的消息:"+new String(body));
            }
        });
        System.out.println("Test.main");
    }
}
